<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Inscripcion extends CI_Controller {
	
	public function __construct()
	{
		parent::__construct();
		$this->load->model('cursos_model');
		$this->load->model('inscripcion_model');
		$this->load->helper('url');
	}
	
	/* 
	Metodo encargado de cargar la portada con el formulario de inscripcion a un curso 
	autor: EVR
	fecha:27/01/2015
	*/
	public function principal(){
		$idcurso = $this->input->post('idCurso', TRUE);
		$data['portada'] = false;
		$this->load->view('plantillas/cabecera', $data);
		if($idcurso == false){
			$data['titulo'] = 'Inscripcion error';
			$this->load->view('inscripcion/error', $data);
		}
		else{
			$datoscurso = $this->cursos_model->getCursoPorId($idcurso);
			$data['curso'] = $datoscurso;
			$data['titulo'] = 'Inscripcion '. $datoscurso['titulo'];
			$this->load->view('inscripcion/portada', $data);
		}
		$this->load->view('plantillas/pie', $data);
	}
	
	/* 
	Metodo que mostrara una pantalla con los datos de la inscripcion para que el alumno lo valide 
	autor: EVR
	fecha:27/01/2015
	*/
	public function confirmacion($cat){
		$data['datosinscripcion'] = $this->input->post();
		$data['titulo'] = 'validacion '. $datoscurso['titulo'];
		$data['portada'] = false;
		$this->load->view('plantillas/cabecera', $data);
		$this->load->view('inscripcion/confirmacion', $data);
		$this->load->view('plantillas/pie', $data);
	}
	
	/* 
	Metodo encargado de finalizar la inscripción a un curso y mostrar el mensaje adecuado al usuario
	autor: EVR
	fecha:27/01/2015
	*/
	public function finalizacion(){
		$data['portada'] = false;
		$this->load->view('plantillas/cabecera', $data);
		if($this->input->post('dni',TRUE)){
			$datosInscripcion = $this->input->post();
			$idalumno=0;
			$pagado=0;
			if($datosInscripcion['nombre'] && $datosInscripcion['apellidos'] && $datosInscripcion['dni'] && $datosInscripcion['tel'] && $datosInscripcion['mail']){
				//modelo que indica si el usuario ya existe
				$evaluar= array(
					'dni' => $datosInscripcion['dni'],
					'curso' => $datosInscripcion['idcurso']
				);
				$alumno = $this->inscripcion_model->getExisteAlumno($evaluar);
				if ($alumno){
					if(strcmp($datosInscripcion['pago'], "paypal") == 0){
						$this->_metodoPago($datosInscripcion,$curso,$alumno['id']);
					}
					else{
						//ya estas inscrito y no paga
						$info = array(
							'nombreAlumno' => $nombreCompleto,
							'dni' => $datosInscripcion['dni'],
							'telefono' => $datosInscripcion['tel'],
							'email' => $datosInscripcion['mail'],
							'pagado' => 0,
							'nombreCurso' =>$curso['nombre'],
							'id' => $idalumno
						);
						$cuerpoemail = $this->__preparaEmail($info);
						$data['cuerpo'] = $this->_prepararMensaje($info);
						$email = array(
							'asunto' => $curso['nombre'],
							'cuerpo' => $cuerpoemail,
							'destino' => $datosInscripcion['mail']
						);
						$this->load->library('EnvioEmail');
						$this->envioEmail->enviarEmail($email);
					}
				}
				else{
					$curso = $this->cursos_model->getCursoById($datosInscripcion['idCurso']);
					$insertado = $this->inscripcion_model->nuevaInscripcion($nuevoAlumno);
					if($insertado > 0){
						$this->_metodoPago($datosInscripcion,$curso,$insertado);
					}
					else{
						$this->load->view('plantillas/error', $data);
						log_message('error', '(ERROR-Finalizacion) error al insertar alumno');
					}
				}
			}
		}
		else{
			log_message('error', '(ERROR-Finalizacion) datos incorrectos o vacios');
			$this->load->view('plantillas/error', $data);
		}
		$this->load->view('plantillas/pie', $data);
	}
	
	/* 
	Metodo validacion exito paypal
	autor: EVR
	fecha:27/01/2015
	*/
	public function exitoPaypal(){
		$respuesta = $this->input->post();
		if(strcmp($respuesta[''],"Completed")==0){
			$this->inscripcion_model->actualizarPago();
			$inscritos[] = $this->inscripcion_model->datosInscrito();
			foreach($inscritos as $inscrito){
				$info= array(
					'nombreAlumno' => $inscrito['nombreAlumno'],
					'dni' => $inscrito['dni'],
					'telefono' => $inscrito['tel'],
					'email' => $inscrito['mail'],
					'pagado' => 1,
					'nombreCurso' =>$curso['nombreCurso'],
					'codigo' => $codigo
				);
				$this->_preparaMensaje($info);
				$cuerpoemail = $this->_preparaEmail($info);
				$email = array(
					'asunto' => $curso['nombreCurso'],
					'cuerpo' => $cuerpoemail,
					'destino' => $datosInscripcion['mail']
				);
				$this->load->library('EnvioEmail');
				$this->envioEmail->enviarEmail($email);
				$data['cuerpo'] = $this->prepararMensaje($info);
				$this->load->view('inscripcion/cuerpo', $data);
			}               
		}
		else{
			//error
		}
	}
	
	/* 
	Metodo validacion exito paypal
	autor: EVR
	fecha:27/01/2015
	*/
	public function errorPaypal($id = 0){
		$data['portada'] = false;
		$this->load->view('plantillas/cabecera', $data);
		if($id != 0){
            $inscritos = $this->inscripcion_model->getInscripcionById($id);
            foreach($inscritos as $inscrito){
                $info = array(
					'nombreAlumno' => $nombreCompleto,
					'dni' => $datosInscripcion['dni'],
					'telefono' => $datosInscripcion['tel'],
					'email' => $datosInscripcion['mail'],
					'pagado' => 0,
					'nombreCurso' =>$curso['nombre'],
					'id' => $idalumno
				);
				$cuerpoemail = $this->_preparaEmail($info);
				$data['cuerpo'] = $this->prepararMensaje($info);
				$email = array(
					'asunto' => $curso['nombre'],
					'cuerpo' => $cuerpoemail,
					'destino' => $datosInscripcion['mail']
				);
				$this->load->library('EnvioEmail');
				$this->envioEmail->enviarEmail($email);
            }
        }
		else{
			log_message('error', '(ERROR-Finalizacion) datos incorrectos o vacios');
			$this->load->view('plantillas/error', $data);
		}
		$this->load->view('plantillas/pie', $data);
	}
	
	/* 
	Metodo envio de diplomas
	autor: EVR
	fecha:27/01/2015
	*/
	public function gestionarDiplomas($idCurso){
		$this->load->library('pdf');
		$row = $this->inscripcion_model->datosDiploma($idCurso);
		$nombreAlumno = "";
		$nombreCurso ="";
		$phpdate;
		$lista = array();
		foreach($row as $personal){
			$nombreAlumno = $personal['nombre']." ".$personal['apellidos'];
			if($this->_cumpleNormativa($personal['id'], $personal['ndias']) && !empty($personal['email'])){
				setlocale(LC_ALL,"es_ES");
				$fechahoy = strftime("%d de %B del %Y");
				$nombreCurso = $personal['nombreCurso'];
				$fechas = explode(" ", $personal['fecha']);
				$fechas = explode("-", $fechas[0]);
				$phpdate = strtotime($personal['fecha'] );
				if(intval($fechas[1]) < 6){
					$fecha = intval($fechas[0])-1;
					$fecha .='/';
					$fecha .=intval($fechas[0]);
				}
				else{
					$fecha =intval($fechas[0]); 
					$fecha .= '/';
					$fecha .=intval($fechas[0])+1;
				}
				// Creación del objeto de la clase heredada
				$this->pdf = new Pdf();
				$this->pdf->AddPage();
				$this->pdf->SetFont('Arial','B',10);
				$this->pdf->SetXY(15,15);
				$this->pdf->Cell(180,20,"Castell".utf8_decode('ó')."n,  ". $fechahoy,0,1,'R');
				$this->pdf->Ln();
				
				$texto = "Yo, Samuel Díaz Pretel, en calidad de Presidente de EADE Consulting J.E., con CIF G12350567, acredito la participación de ".$nombreAlumno.", en el ".$nombreCurso.", organizado por EADE Consulting J.E. en el curso ".$fecha.", en la Universitat Jaume I.";
				$texto = utf8_decode($texto);
				$y=50;
				$nletras=0;
				$palabras=explode(" ", $texto);
				$x=0;
				$textoCelda = "";
				while($x<sizeof($palabras)){
					if(($nletras + strlen($palabras[$x])) < 85){
						$textoCelda .= $palabras[$x]." ";
						$nletras += strlen($palabras[$x]) + 1;
						$x++;
					}
					else{
						$this->pdf->SetXY(30,$y);
						$y += 10;
						$this->pdf->Cell(55,10,$textoCelda,0,1,'L');
						$this->pdf->Ln();
						$nletras=0;
						$textoCelda="";
					}
				}
				if(strlen($textoCelda)>0){
					$this->pdf->SetXY(30,$y);
					$y += 20;
					$this->pdf->Cell(55,10,$textoCelda,0,1,'L');
					$this->pdf->Ln();
				}
				$this->pdf->SetXY(30,$y);
				$this->pdf->Cell(55,10,"Por la presente y para que conste, firmo como tal,",0,1,'L');
				//Ponemos el final para la firma
				$this->pdf->SetXY(10,170);
				$this->pdf->Image('../imagenes/firmas/firmaPre.png',130,160,40);
				$this->pdf->SetXY(10,180);
				$this->pdf->Cell(160,20,utf8_decode("Samuel Díaz Pretel"),0,1,'R');
				$this->pdf->Ln();
				$this->pdf->SetXY(10,190);
				$this->pdf->Cell(160,20,"Presidente",0,1,'R');
				$this->pdf->Ln();
				$this->pdf->SetXY(10,200);
				$this->pdf->Cell(160,20,"EADE ".utf8_decode('-')." Consulting J.E.",0,1,'R');
				$this->pdf->Ln();
				$this->pdf->Ln(2);
				$nombrePdf = $nombreAlumno ."-".$nombreCurso.".pdf";
				$nombrePdf = str_replace(" ","_", $nombrePdf);
				$rutaPdf = './diplomas/'.$nombrePdf;
				$this->pdf->Output($rutaPdf, 'F');
				$pdf->Close();
				$this->inscripcion_model->actualizarReciboDiploma($personal['id']);
				$this->load->library('EnvioEmail');
				$cuerpoemail = '<h2>Estimado/a '. $nombreAlumno .'</h2>
						<p>Tras la realización del '.$personal['nombreCurso'].'</p>
						<p>Le enviamos adjunto en este email su diploma para convalidar su credito.</p>
						<p>Confiamos en que el curso haya sido de su agrado y esperamos volver a verte en el alguno de nuestros proximos cursos.</p>
						<p>Para mas información no olvides visitar nuestra web <a href="http://www.eadeconsulting.com">www.eadeconsulting.com</a></p>	
						<p>Gracias</p>
						<p>Atentamente</p>
						<p>El equipo de EADE Consulting J.E.</p>';
				$email = array(
					'asunto' => 'Diploma '.$personal['nombreCurso'],
					'cuerpo' => $cuerpoemail,
					'destino' => $personal['email'],
					'adjunto' => $rutaPdf
				);
				$this->envioEmail->enviarEmailConAdjunto($email);
				$this->inscripcion_model->actualizarReciboDiploma($personal['id']);	
			}
			else{
				array_push($lista, $nombreAlumno.": Exceso faltas de asistencia, falta dossier o no tiene correo");
			}
		}
		//faltaria enviar el email a junta para los que no han recibido el diploma
		$data['portada'] = false;
		$data['titulo'] = 'Diplomas';
		$this->load->view('controleade/cabecera', $data);
		$this->load->view('controleade/diplomas', $data);
		$this->load->view('plantillas/pie', $data);
	}
	
	/* 
	Metodo preparacion del Excel
	autor: EVR
	fecha:11/02/2015
	*/
	public function prepararExcel($idCurso){
		$this->load->library('excel');
		// Set document properties
		$this->excel->getProperties()->setCreator("Maarten Balliauw")
									 ->setLastModifiedBy("Maarten Balliauw")
									 ->setTitle("Office 2007 XLSX Test Document")
									 ->setSubject("Office 2007 XLSX Test Document")
									 ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
									 ->setKeywords("office 2007 openxml php")
									 ->setCategory("Test result file");


		// Add some data
		// Rename worksheet
		$this->excel->getActiveSheet()->setTitle("Curso");
		$this->excel->setActiveSheetIndex(0)
					->setCellValue('A1', 'DNI')
					->setCellValue('B1', 'Nombre!')
					->setCellValue('C1', 'Apellidos')
					->setCellValue('D1', 'Telefono')
					->setCellValue('E1', 'Email')
					->setCellValue('F1', 'Pagado');
		$this->excel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
		$this->excel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);
		$this->excel->getActiveSheet()->getColumnDimension('C')->setAutoSize(true);
		$this->excel->getActiveSheet()->getColumnDimension('D')->setAutoSize(true);
		$this->excel->getActiveSheet()->getColumnDimension('E')->setAutoSize(true);
		$this->excel->getActiveSheet()->getColumnDimension('F')->setAutoSize(true);
		$this->excel->getActiveSheet()->getColumnDimension('H')->setAutoSize(true);
		$row = $this->inscripcion_model->getInscritosConPagado($idCurso);
		$x=2;
		foreach($row as $parti){
		// Miscellaneous glyphs, UTF-8
		$this->excel->setActiveSheetIndex(0)
					->setCellValue('A'.$x, $parti['dni'])
					->setCellValue('B'.$x, $parti['nombre'])
					->setCellValue('C'.$x, $parti['apellidos'])
					->setCellValue('D'.$x, $parti['telefono'])
					->setCellValue('E'.$x, $parti['email']);
				$this->excel->getActiveSheet()->getStyle('F'.$x)->getFill()->applyFromArray(array('type' => PHPExcel_Style_Fill::FILL_SOLID,'startcolor' => array('rgb' => ($parti['pagado'] ==1 ? "64FE2E":"FF0000"))));
				$x++;
		}
		$this->excel->setActiveSheetIndex(0)
					->setCellValue('H2', 'Pagado')
					->setCellValue('H3', 'No Pagado');
		$this->excel->getActiveSheet()->getStyle('I2')->getFill()->applyFromArray(array('type' => PHPExcel_Style_Fill::FILL_SOLID,'startcolor' => array('rgb' => "64FE2E")));
		$this->excel->getActiveSheet()->getStyle('I3')->getFill()->applyFromArray(array('type' => PHPExcel_Style_Fill::FILL_SOLID,'startcolor' => array('rgb' => "FF0000")));
		// Set active sheet index to the first sheet, so Excel opens this as the first sheet
		$this->excel->setActiveSheetIndex(0);

		$cursos = $this->cursos_model->getCursoById($idCurso);
		foreach($cursos as $curso){
			$nombreCurso = $curso['nombre'];
		}
		// Redirect output to a client’s web browser (Excel5)
		header('Content-Type: application/vnd.ms-excel');
		header('Content-Disposition: attachment;filename="'.$nombreCurso.'.xls"');
		header('Cache-Control: max-age=0');
		// If you're serving to IE 9, then the following may be needed
		header('Cache-Control: max-age=1');

		// If you're serving to IE over SSL, then the following may be needed
		header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
		header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
		header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
		header ('Pragma: public'); // HTTP/1.0

		$objWriter = PHPExcel_IOFactory::createWriter($this->excel, 'Excel5');
		$objWriter->save('php://output');
	}
	
	//Funciones PRIVADAS que utilizaremos para dejar el codigo mas limpio ***************************************************************************************************
	
	public function _preparaMensaje($info){
		$info = "<h2> Inscripción realizada con éxito</h2>
		<p> Enhorabuena, te has inscrito en el ".$info['nombreCurso']." que organiza EADE Consulting J.E. con los siguientes datos:</p>";
		$tabla="<table style='min-width:45%'>
					<tr>
						<td>Nombre:</td><td>". $info['nombreAlumno']."</td>
					</tr>
					<tr>
						<td>DNI:</td><td>". $info['dni'] ."</td>
					</tr>
					<tr>
						<td>Telefono:</td><td>". $info['telefono'] ."</td>
					</tr>
					<tr>
						<td>Mail:</td><td>". $info['email'] ."</td>
					</tr>
				</table>";
		$info.=$tabla;
		if($info['pagado']){
			$info.="<p>El pago se ha realizado de forma satisfactoria con el código: <b>".$info['codigo']."</b> Conserva este código como resguardo</p>";
		}
		else{
			$info.="<p> Has seleccionado la opción de ingreso en el banco, recuerda que tienes que realizar el ingreso en la cuenta bancaria ES6620389939936000523417 (Bankia) y traer el justificante de pago el primer día del curso, recuerda tambien, que si no traes el justificante no se te permitirá la entrada al curso.</p>";
			$info.="<p> Si lo deseas todavia puedes realizar el pago mediante paypal utilizando el siguiente enlace: <a href='http://www.eadeconsulting.com/inscripcion/pago/".$CI->encrypt->encode($info['id'])."/=".$CI->encrypt->encode($info['nombreCurso'])."'>Pagar ahora</a></p>";
		}
		$info.="<p>En breve recibirás un email con los datos de la confirmación</p>";
		$info.="<p>Esperamos verte pronto en el curso y no te olvides de revisar la <a href='http://www.eadeconsulting.com/normativa'>normativa</a> en nuestra página web</p>";
		$info.="<p>Si tienes cualquier pregunta o problema, no dudes en ponerte en contacto con nosotros enviando un email a info@eadeconsulting.com o llamando al teléfono (+34) 964 72 85 12 y te lo resolveremos</p>
		<p>Atentamente el equipo de EADE Consulting J.E</p>";
		return $info;
	}
	
	public function _preparaEmail($info){
		$this->load->library('encrypt');
		$info = "<h2 style='color:#4e3467;font-size:30px;text-align:center'> Inscripción realizada con éxito</h2>
		<p style='font-size:15px'> Enhorabuena, te has inscrito en el ".$info['nombreCurso']." que organiza EADE Consulting J.E. con los siguientes datos:</p>";
		$tabla="<ul style='font-size:15px'>
					<li>". $info['nombreAlumno'] ."</li>
					<li>". $info['dni'] ."</li>
					<li>". $info['telefono'] ."</li>
					<li>". $info['email'] ."</li>
				</ul>";
		$info.=$tabla;
		if($info['pagado']){
			$info.="<p style='font-size:15px'>El pago se ha realizado de forma satisfactoria con el código: <b>".$info['codigo']."</b> (Conserva este código como resguardo)</p>";
		}
		else{
			$info.="<p style='font-size:15px'> Has seleccionado la opción de ingreso en el banco, recuerda que tienes que realizar el ingreso en la cuenta bancaria ES6620389939936000523417 (Bankia) y traer el justificante de pago el primer día del curso, recuerda tambien que si no traes el justificante no se te permitirá la entrada al curso.</p>";
			$info.="<p> Si lo deseas todavia puedes realizar el pago mediante paypal utilizando el siguiente enlace: <a href='http://www.eadeconsulting.com/inscripcion/pago/".$CI->encrypt->encode($info['id'])."/=".$CI->encrypt->encode($info['nombreCurso'])."'>Pagar ahora</a></p>";
			//estudiar como inclui los pagos paypal en el email.
		}
		$info.="<p style='font-size:15px'>Esperamos verte pronto en el curso y no te olvides de revisar la <a href='http://www.eadeconsulting.com/normativa'>normativa</a> en nuestra página web</p>";
		$info.="<p style='font-size:15px'>Si tienes cualquier pregunta o problema, no dudes en ponerte en contacto con nosotros enviando un email a info@eadeconsulting.com o llamando al teléfono (+34) 964 72 85 12 y te lo resolveremos</p>
		<p style='font-size:15px'>Atentamente el equipo de EADE Consulting J.E</p>";
		return $info;
	}
	
	public function _cobroPaypal($al,$cu,$pr){
		$pr = $pr + ($pr * 0.044);
		$formulario = '<html>
			<head></head>
			<body>
					<form name="formTpv" action="https://www.paypal.com/cgi-bin/webscr" method="post">
						<!--<input type="hidden" name="cmd" value="_s-xclick">-->
						<input name="cmd" type="hidden" value="_xclick"/>
	                    <input name="upload" type="hidden" value="1"/>
	                    <input name="business" type="hidden" value="eventoseade@gmail.com"/>
	                    <input name="shopping_url" type="hidden" value="http://www.eadeconsulting.com/"/>
	                    <input name="currency_code" type="hidden" value="EUR"/>
	                    <input name="return" type="hidden" value="http://www.eadeconsulting.com/cursos/"/>
	                    <input type="hidden" name="cancel_return" value="http://www.eadeconsulting.com/cursos/errorPaypal.php?res=<?php echo encrypt($al,"EADECONSULTING")."&val=".encrypt($cu,"EADECONSULTING");?>"/>
	                    <input name="notify_url" type="hidden" value="http://www.eadeconsulting.com/cursos/"/>
						<input name="rm" type="hidden" value="2"/>
						<input name="item_number" type="hidden" value="'.$al.'"/>
	            		<input name="item_name" type="hidden" value="'.$cu.'"/>
	            		<input name="amount" type="hidden" value="'.$pr.'"/>
	            		<input name="quantity" type="hidden" value="1"/>
						<input type="hidden" name="no_shipping" value="1"/>
						<input name="cpp_header_image" type="hidden" value="http://www.eadeconsulting.com/wp-content/themes/eade/imagenes/logo.gif"/>
						<!--<input type="image" src="https://www.paypalobjects.com/es_ES/ES/i/btn/btn_paynowCC_LG.gif" border="0" style="width:160px;height:60px" name="submit" alt="PayPal. La forma rápida y segura de pagar en Internet.">-->			
						</form>
						<script type="text/javascript">
							document.formTpv.submit();
						</script>
			</body>
		</html>';
		return formulario;
	}
	
	/*
	Metodo que valida el sistema de pago y realiza las operaciones pertinentes
	autor: EVR
	fecha 28/01/2015
	*/
	public function _metodoPago($datosInscripcionm,$curso,$idalumno){
		if(strcmp($datosInscripcion['pago'], "paypal") == 0){
			//paga con paypal
			switch($_POST['tipo']){
			case "alumno":$data['cuerpo'] = $this->_cobroPaypal($al,$curso['nombre'],$curso['precioAl']);break;
			case "sauji": $data['cuerpo'] = $this->_cobroPaypal($al,$curso['nombre'],$curso['precioSa']);break;
			case "pro": $data['cuerpo'] = $this->_cobroPaypal($al,$curso['nombre'],$curso['precioPro']);break;                
			}
			$this->load->view('inscripcion/pago', $data);
		}
		else{
			if(strcmp($datosInscripcion['pago'], "tarjeta") == 0){
				//paga con tarjeta
			}
			else{
				$nombreCompleto = $datosInscripcion['nombre'] .' '. $datosInscripcion['apellidos'];
				$info = array(
					'nombreAlumno' => $nombreCompleto,
					'dni' => $datosInscripcion['dni'],
					'telefono' => $datosInscripcion['tel'],
					'email' => $datosInscripcion['mail'],
					'pagado' => 0,
					'nombreCurso' =>$curso['nombre'],
					'id' => $idalumno
				);
				$cuerpoemail = $this->_preparaEmail($info);
				$email = array(
					'nombreCurso' => $curso['nombre'],
					'cuerpo' => $cuerpoemail,
					'destino' => $datosInscripcion['mail']
				);
				$this->load->library('EnvioEmailInscripcion',$email);
				$data['cuerpo'] = $this->prepararMensaje($info);
				$this->load->view('inscripcion/cuerpo', $data);
			}
		}
	}
	public function _cumpleNormativa($idAlumno, $numDias){
		$sql = "";
		$numFaltasMaxima = 0;
        $faltasAcumuladas = 0;
		switch($numDias){
			case 1: /*normativa 1 curso 3 dias*/ $numFaltasMaxima = 0; break;
			case 2: /*normativa 2 curso 4 dias*/ $numFaltasMaxima = 1; break;
			case 3: /*normativa 3 curso 5 dias*/ $numFaltasMaxima = 1; break;
		}
        try{
		 $row = $cn->query("select dossier,dia11,dia12,dia21,dia22,dia31,dia32,dia41,dia42,dia51,dia52 from control_curso WHERE idParticipante = ".$idAlumno."");
        }
        catch(PDOException $ex) {
            echo "An Error occured!"; //user friendly message
            some_logging_function($ex->getMessage());
        }
        catch (Exception $e) {
             echo 'Excepción capturada: ',  $e->getMessage(), "\n";
        }
		foreach($row as $asistencia){
            if(!$asistencia['dossier']){
                return false;
            }
			for($x=1;$x<=$numDias;$x++){
    			 $tur1 = "dia".$x."1";
                 $tur2 = "dia".$x."2";
    			 if(!$asistencia[$tur1]){
    			     $faltasAcumuladas++;
    			 }
                 if(!$asistencia[$tur2]){
                    $faltasAcumuladas++;
                 }
                 if($faltasAcumuladas > $numFaltasMaxima){
                    return false;
                 }
			}
		}
        return true;
	}
}
